package modelo.obstaculos;

import java.util.LinkedList;

import vista.VistaArena;

import modelo.enemigos.Enemigo;
import modelo.juego.Configuracion;

public class ObstaculoArena extends Obstaculo {

	private static final long serialVersionUID = -2834869127463562260L;

	public ObstaculoArena(ManejadorObstaculos manejador) {
		this.setCosto(Configuracion.COSTO_ARENA);
		this.setManejador(manejador);
		this.setEfectos(new LinkedList<Efecto>());
	}

	public void Afectar(Enemigo enemigo) {
		enemigo.CambiarVelocidad(Configuracion.EFECTO_OBSTACULO_ARENA);
		Efecto efecto = new Efecto(Configuracion.DURACION_OBSTACULO_ARENA, enemigo);
		this.getEfectos().add(efecto);

	}

	public void Desafectar(Efecto efecto) {
		//this.getEfectos().remove(efecto);
		efecto.getEnemigo().CambiarVelocidad(1 / Configuracion.EFECTO_OBSTACULO_ARENA);
	}
	
	public void RecrearVista(){
		this.addObserver(new VistaArena(this));
		this.setChanged();
		this.notifyObservers();
	}
	
}
